#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int LtDatatype;
typedef struct ListNode
{
	LtDatatype data;
	struct ListNode* next;
	struct ListNode* prev;
}ListNode;

ListNode* ListCreate();

void PrintList(ListNode* head);

ListNode* buyNode(LtDatatype x);

void ListPushBack(ListNode* head, LtDatatype x);
void ListPushFront(ListNode* head, LtDatatype x);

void ListPopBack(ListNode* head);
void ListPopFront(ListNode* head);

ListNode* ListFind(ListNode* head, LtDatatype x);
void ListInsert(ListNode* pos, LtDatatype x);
void ListErase(ListNode* pos);

void ListDestroy(ListNode* head);


